From 4bdab90acb6801269985e57ab5aa68967c4c3c54 Mon Sep 17 00:00:00 2001 From: Stefano Zacchiroli Date: Fri, 15 Jun 2007 22:44:54 +0000 Subject: [PATCH] draft splitting (not yet tested) of camlp4 --- debian/camlp4-extra.dirs.in | 2 + debian/camlp4-extra.files.in | 10 +++ debian/camlp4-extra.optfiles.in | 5 ++ debian/camlp4.dirs.in | 2 + debian/camlp4.files.in | 5 ++ debian/camlp4.optfiles.in | 2 + debian/changelog | 8 +- debian/control | 78 ++++++++++++++----- debian/control.in | 72 +++++++++++++---- ...aml-opt.files.in => ocaml-nox.optfiles.in} | 0 debian/rules | 12 ++- 11 files changed, 158 insertions(+), 38 deletions(-) create mode 100644 debian/camlp4-extra.dirs.in create mode 100644 debian/camlp4-extra.files.in create mode 100644 debian/camlp4-extra.optfiles.in create mode 100644 debian/camlp4.dirs.in create mode 100644 debian/camlp4.files.in create mode 100644 debian/camlp4.optfiles.in rename debian/{ocaml-opt.files.in => ocaml-nox.optfiles.in} (100%) diff --git a/debian/camlp4-extra.dirs.in b/debian/camlp4-extra.dirs.in new file mode 100644 index 00000000..8e3c7251 --- /dev/null +++ b/debian/camlp4-extra.dirs.in @@ -0,0 +1,2 @@ +usr/bin +usr/lib/ocaml/#OcamlABI#/camlp4 diff --git a/debian/camlp4-extra.files.in b/debian/camlp4-extra.files.in new file mode 100644 index 00000000..b7379489 --- /dev/null +++ b/debian/camlp4-extra.files.in @@ -0,0 +1,10 @@ +usr/bin/camlp4boot +usr/bin/camlp4of +usr/bin/camlp4rf +usr/bin/camlp4oof +usr/bin/camlp4orf +usr/bin/camlp4prof +usr/lib/ocaml/#OcamlABI#/camlp4/camlp4of.cma +usr/lib/ocaml/#OcamlABI#/camlp4/camlp4rf.cma +usr/lib/ocaml/#OcamlABI#/camlp4/camlp4oof.cma +usr/lib/ocaml/#OcamlABI#/camlp4/camlp4orf.cma diff --git a/debian/camlp4-extra.optfiles.in b/debian/camlp4-extra.optfiles.in new file mode 100644 index 00000000..705ae155 --- /dev/null +++ b/debian/camlp4-extra.optfiles.in @@ -0,0 +1,5 @@ +usr/bin/camlp4of.opt +usr/bin/camlp4rf.opt +usr/bin/camlp4oof.opt +usr/bin/camlp4orf.opt +usr/bin/camlp4prof.opt diff --git a/debian/camlp4.dirs.in b/debian/camlp4.dirs.in new file mode 100644 index 00000000..8e3c7251 --- /dev/null +++ b/debian/camlp4.dirs.in @@ -0,0 +1,2 @@ +usr/bin +usr/lib/ocaml/#OcamlABI#/camlp4 diff --git a/debian/camlp4.files.in b/debian/camlp4.files.in new file mode 100644 index 00000000..1970c1e1 --- /dev/null +++ b/debian/camlp4.files.in @@ -0,0 +1,5 @@ +usr/bin/camlp4 +usr/bin/camlp4o +usr/bin/camlp4r +usr/bin/mkcamlp4 +usr/lib/ocaml/#OcamlABI#/camlp4/ diff --git a/debian/camlp4.optfiles.in b/debian/camlp4.optfiles.in new file mode 100644 index 00000000..7715cefd --- /dev/null +++ b/debian/camlp4.optfiles.in @@ -0,0 +1,2 @@ +usr/bin/camlp4o.opt +usr/bin/camlp4r.opt diff --git a/debian/changelog b/debian/changelog index 97fbab39..8d9e7234 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,5 +1,7 @@ ocaml (3.10.0-2) UNRELEASED; urgency=low + * Split two new packages: "camlp4" and "camlp4-extra" to cope with the huge + size increase of the new camlp4 * Policy - update the Vcs-Svn info to the latest PTS documentation - describe dependencies from a -dev package to its companion shared stub @@ -9,8 +11,12 @@ ocaml (3.10.0-2) UNRELEASED; urgency=low * debian/man/camlp4*.1 - added manpages for camlp4 related executables; content partially using html2man, partially taken from the camlp4 wiki + * debian/control + - moved ledit recommends from ocaml-nox to ocaml-interp (which ships the + interactive toplevel) + - minor improvements to various descriptions - -- Stefano Zacchiroli Thu, 14 Jun 2007 22:20:02 +0100 + -- Stefano Zacchiroli Fri, 15 Jun 2007 23:43:41 +0100 ocaml (3.10.0-1) experimental; urgency=low diff --git a/debian/control b/debian/control index 1a5c2d39..7ae1fe79 100644 --- a/debian/control +++ b/debian/control @@ -10,18 +10,18 @@ XS-Vcs-Browser: http://svn.debian.org/wsvn/pkg-ocaml-maint/trunk/packages/ocaml/ Package: ocaml-nox Architecture: any -Depends: libncurses5-dev, ocaml-base-nox (=${Source-Version}), ocaml-base-nox-${F:OCamlABI}, ocaml-interp-${F:OCamlABI}, gcc, binutils +Depends: libncurses5-dev, ocaml-base-nox (=${binary:Version}), ocaml-base-nox-${F:OCamlABI}, ocaml-interp-${F:OCamlABI}, gcc, binutils Suggests: ocaml-doc, libgdbm-dev, tuareg-mode | ocaml-mode -Recommends: ledit, file +Recommends: camlp4, ledit, file Provides: ocaml-nox-${F:OCamlABI}, ${F:BestProvides}, libnums-ocaml-dev -Replaces: camlp4, ocaml (<< 3.07.2a-3), libnums-ocaml-dev -Conflicts: camlp4, camlidl (<< 1.04), ocaml (<< 3.07.2a-3), libnums-ocaml-dev +Replaces: camlp4 (<< 3.10.0), ocaml (<< 3.07.2a-3), libnums-ocaml-dev +Conflicts: camlp4 (<< 3.10.0), camlidl (<< 1.04), ocaml (<< 3.07.2a-3), libnums-ocaml-dev Description: ML language implementation with a class-based object system - Objective Caml is an implementation of the ML language, based on + Objective Caml (OCaml) is an implementation of the ML language, based on the Caml Light dialect extended with a complete class-based object system and a powerful module system in the style of Standard ML. . - Objective Caml comprises two compilers. One generates bytecode + OCaml comprises two compilers. One generates bytecode which is then interpreted by a C program. This compiler runs quickly, generates compact code with moderate memory requirements, and is portable to essentially any 32 or 64 bit Unix platform. Performance of @@ -39,17 +39,54 @@ Description: ML language implementation with a class-based object system This package contains everything needed to develop ocaml applications that do not require the graphics library. +Package: camlp4 +Architecture: any +Depends: ocaml-nox-${F:OCamlABI} +Provides: camlp4-${F:OCamlABI} +Description: Pre Processor Pretty Printer for OCaml + Objective Caml (OCaml) is an implementation of the ML language, + based on the Caml Light dialect extended with a complete + class-based object system and a powerful module system in the + style of Standard ML. + . + CamlP4 is a Pre-Processor-Pretty-Printer for Objective Caml. It + offers tools for syntax (Stream Parsers and Grammars) and the + ability to modify the concrete syntax of the language + (Quotations, Syntax Extensions). + . + This package contains the basic CamlP4 executables and libraries + for pre-processing and pretty-printing OCaml sources both + interactively and in a batch fashion. + +Package: camlp4-extra +Architecture: any +Depends: camlp4-${F:OCamlABI} +Description: Pre Processor Pretty Printer for OCaml - extras + Objective Caml (OCaml) is an implementation of the ML language, + based on the Caml Light dialect extended with a complete + class-based object system and a powerful module system in the + style of Standard ML. + . + CamlP4 is a Pre-Processor-Pretty-Printer for Objective Caml. It + offers tools for syntax (Stream Parsers and Grammars) and the + ability to modify the concrete syntax of the language + (Quotations, Syntax Extensions). + . + This package contains pre-linked executables and libraries for + pre-processing and pretty-printing OCaml sources out of the box + for various common needs. + Package: ocaml Architecture: any -Depends: ocaml-base (= ${Source-Version}), ocaml-base-${F:OCamlABI}, ocaml-nox-${F:OCamlABI} +Depends: ocaml-base (= ${binary:Version}), ocaml-base-${F:OCamlABI}, ocaml-nox-${F:OCamlABI} Suggests: tcl8.4-dev, tk8.4-dev Provides: ocaml-${F:OCamlABI} Description: ML language implementation with a class-based object system - Objective Caml is an implementation of the ML language, based on + Objective Caml (OCaml) is an implementation of the ML language, based on the Caml Light dialect extended with a complete class-based object system and a powerful module system in the style of Standard ML. . - Objective Caml comprises two compilers. One generates bytecode + OCaml comprises two compilers. One generates bytecode which is then interpreted by a C program. This compiler runs quickly, generates compact code with moderate memory requirements, and is portable to essentially any 32 or 64 bit Unix platform. Performance of @@ -74,7 +111,7 @@ Depends: ${shlibs:Depends} Replaces: ocaml-base (<< 3.07.2a-3), libnums-ocaml Conflicts: ocaml (<< 3.04-2), ocaml-base (<< 3.07.2a-3), libnums-ocaml Description: Runtime system for ocaml bytecode executables - Objective Caml is an implementation of the ML language, based on + Objective Caml (OCaml) is an implementation of the ML language, based on the Caml Light dialect extended with a complete class-based object system and a powerful module system in the style of Standard ML. . @@ -87,7 +124,7 @@ Architecture: any Depends: ${shlibs:Depends}, ocaml-base-nox-${F:OCamlABI} Provides: ocaml-base-${F:OCamlABI} Description: Runtime system for ocaml bytecode executables - Objective Caml is an implementation of the ML language, based on + Objective Caml (OCaml) is an implementation of the ML language, based on the Caml Light dialect extended with a complete class-based object system and a powerful module system in the style of Standard ML. . @@ -98,11 +135,11 @@ Description: Runtime system for ocaml bytecode executables Package: ocaml-native-compilers Architecture: alpha amd64 arm hurd-i386 i386 ia64 kfreebsd-i386 powerpc sparc -Depends: ocaml-nox (= ${Source-Version}), ocaml-nox-${F:OCamlABI}, gcc, binutils, ${shlibs:Depends} +Depends: ocaml-nox (= ${binary:Version}), ocaml-nox-${F:OCamlABI}, gcc, binutils, ${shlibs:Depends} Provides: ocaml-best-compilers Replaces: ocaml-nox (<= 3.09.2-3) Description: Native code compilers of the ocaml suite (the .opt ones) - Objective Caml is an implementation of the ML language, based on + Objective Caml (OCaml) is an implementation of the ML language, based on the Caml Light dialect extended with a complete class-based object system and a powerful module system in the style of Standard ML. . @@ -116,7 +153,7 @@ Package: ocaml-source Architecture: all Provides: ocaml-source-${F:OCamlABI} Description: Sources for Objective Caml - Objective Caml is an implementation of the ML language, based on + Objective Caml (OCaml) is an implementation of the ML language, based on the Caml Light dialect extended with a complete class-based object system and a powerful module system in the style of Standard ML. . @@ -128,10 +165,11 @@ Package: ocaml-interp Architecture: any Provides: ocaml-interp-${F:OCamlABI} Depends: ocaml-base-nox-${F:OCamlABI} +Recommends: ledit Replaces: ocaml (<< 3.07.2a-3) Conflicts: ocaml (<< 3.07.2a-3) -Description: Ocaml interpreter and standard libraries - Objective Caml is an implementation of the ML language, based on +Description: OCaml interactive interpreter and standard libraries + Objective Caml (OCaml) is an implementation of the ML language, based on the Caml Light dialect extended with a complete class-based object system and a powerful module system in the style of Standard ML. . @@ -142,8 +180,8 @@ Package: ocaml-compiler-libs Architecture: any Provides: ocaml-compiler-libs-${F:OCamlABI} Depends: ocaml-nox-${F:OCamlABI} -Description: Ocaml interpreter and standard libraries - Objective Caml is an implementation of the ML language, based on +Description: OCaml interpreter and standard libraries + Objective (OCaml) is an implementation of the ML language, based on the Caml Light dialect extended with a complete class-based object system and a powerful module system in the style of Standard ML. . @@ -157,6 +195,10 @@ Depends: emacs21 | emacsen Suggests: ocaml Conflicts: ocaml-nox (<< 3.08.3-8) Description: A major mode for editing Objective Caml in Emacs + Objective (OCaml) is an implementation of the ML language, based on + the Caml Light dialect extended with a complete class-based object system + and a powerful module system in the style of Standard ML. + . This package provides support for editing both Objective Caml and Caml Light programs with Emacs and XEmacs. . diff --git a/debian/control.in b/debian/control.in index 74821387..b67fe1fb 100644 --- a/debian/control.in +++ b/debian/control.in @@ -12,16 +12,16 @@ Package: ocaml-nox Architecture: any Depends: libncurses5-dev, ocaml-base-nox (=${binary:Version}), ocaml-base-nox-${F:OCamlABI}, ocaml-interp-${F:OCamlABI}, gcc, binutils Suggests: ocaml-doc, libgdbm-dev, tuareg-mode | ocaml-mode -Recommends: ledit, file +Recommends: camlp4, ledit, file Provides: ocaml-nox-${F:OCamlABI}, ${F:BestProvides}, libnums-ocaml-dev -Replaces: camlp4, ocaml (<< 3.07.2a-3), libnums-ocaml-dev -Conflicts: camlp4, camlidl (<< 1.04), ocaml (<< 3.07.2a-3), libnums-ocaml-dev +Replaces: camlp4 (<< 3.10.0), ocaml (<< 3.07.2a-3), libnums-ocaml-dev +Conflicts: camlp4 (<< 3.10.0), camlidl (<< 1.04), ocaml (<< 3.07.2a-3), libnums-ocaml-dev Description: ML language implementation with a class-based object system - Objective Caml is an implementation of the ML language, based on + Objective Caml (OCaml) is an implementation of the ML language, based on the Caml Light dialect extended with a complete class-based object system and a powerful module system in the style of Standard ML. . - Objective Caml comprises two compilers. One generates bytecode + OCaml comprises two compilers. One generates bytecode which is then interpreted by a C program. This compiler runs quickly, generates compact code with moderate memory requirements, and is portable to essentially any 32 or 64 bit Unix platform. Performance of @@ -39,17 +39,54 @@ Description: ML language implementation with a class-based object system This package contains everything needed to develop ocaml applications that do not require the graphics library. +Package: camlp4 +Architecture: any +Depends: ocaml-nox-${F:OCamlABI} +Provides: camlp4-${F:OCamlABI} +Description: Pre Processor Pretty Printer for OCaml + Objective Caml (OCaml) is an implementation of the ML language, + based on the Caml Light dialect extended with a complete + class-based object system and a powerful module system in the + style of Standard ML. + . + CamlP4 is a Pre-Processor-Pretty-Printer for Objective Caml. It + offers tools for syntax (Stream Parsers and Grammars) and the + ability to modify the concrete syntax of the language + (Quotations, Syntax Extensions). + . + This package contains the basic CamlP4 executables and libraries + for pre-processing and pretty-printing OCaml sources both + interactively and in a batch fashion. + +Package: camlp4-extras +Architecture: any +Depends: camlp4-${F:OCamlABI} +Description: Pre Processor Pretty Printer for OCaml - extras + Objective Caml (OCaml) is an implementation of the ML language, + based on the Caml Light dialect extended with a complete + class-based object system and a powerful module system in the + style of Standard ML. + . + CamlP4 is a Pre-Processor-Pretty-Printer for Objective Caml. It + offers tools for syntax (Stream Parsers and Grammars) and the + ability to modify the concrete syntax of the language + (Quotations, Syntax Extensions). + . + This package contains pre-linked executables and libraries for + pre-processing and pretty-printing OCaml sources out of the box + for various common needs. + Package: ocaml Architecture: any Depends: ocaml-base (= ${binary:Version}), ocaml-base-${F:OCamlABI}, ocaml-nox-${F:OCamlABI} Suggests: tcl8.4-dev, tk8.4-dev Provides: ocaml-${F:OCamlABI} Description: ML language implementation with a class-based object system - Objective Caml is an implementation of the ML language, based on + Objective Caml (OCaml) is an implementation of the ML language, based on the Caml Light dialect extended with a complete class-based object system and a powerful module system in the style of Standard ML. . - Objective Caml comprises two compilers. One generates bytecode + OCaml comprises two compilers. One generates bytecode which is then interpreted by a C program. This compiler runs quickly, generates compact code with moderate memory requirements, and is portable to essentially any 32 or 64 bit Unix platform. Performance of @@ -74,7 +111,7 @@ Depends: ${shlibs:Depends} Replaces: ocaml-base (<< 3.07.2a-3), libnums-ocaml Conflicts: ocaml (<< 3.04-2), ocaml-base (<< 3.07.2a-3), libnums-ocaml Description: Runtime system for ocaml bytecode executables - Objective Caml is an implementation of the ML language, based on + Objective Caml (OCaml) is an implementation of the ML language, based on the Caml Light dialect extended with a complete class-based object system and a powerful module system in the style of Standard ML. . @@ -87,7 +124,7 @@ Architecture: any Depends: ${shlibs:Depends}, ocaml-base-nox-${F:OCamlABI} Provides: ocaml-base-${F:OCamlABI} Description: Runtime system for ocaml bytecode executables - Objective Caml is an implementation of the ML language, based on + Objective Caml (OCaml) is an implementation of the ML language, based on the Caml Light dialect extended with a complete class-based object system and a powerful module system in the style of Standard ML. . @@ -102,7 +139,7 @@ Depends: ocaml-nox (= ${binary:Version}), ocaml-nox-${F:OCamlABI}, gcc, binutils Provides: ocaml-best-compilers Replaces: ocaml-nox (<= 3.09.2-3) Description: Native code compilers of the ocaml suite (the .opt ones) - Objective Caml is an implementation of the ML language, based on + Objective Caml (OCaml) is an implementation of the ML language, based on the Caml Light dialect extended with a complete class-based object system and a powerful module system in the style of Standard ML. . @@ -116,7 +153,7 @@ Package: ocaml-source Architecture: all Provides: ocaml-source-${F:OCamlABI} Description: Sources for Objective Caml - Objective Caml is an implementation of the ML language, based on + Objective Caml (OCaml) is an implementation of the ML language, based on the Caml Light dialect extended with a complete class-based object system and a powerful module system in the style of Standard ML. . @@ -128,10 +165,11 @@ Package: ocaml-interp Architecture: any Provides: ocaml-interp-${F:OCamlABI} Depends: ocaml-base-nox-${F:OCamlABI} +Recommends: ledit Replaces: ocaml (<< 3.07.2a-3) Conflicts: ocaml (<< 3.07.2a-3) -Description: Ocaml interpreter and standard libraries - Objective Caml is an implementation of the ML language, based on +Description: OCaml interactive interpreter and standard libraries + Objective Caml (OCaml) is an implementation of the ML language, based on the Caml Light dialect extended with a complete class-based object system and a powerful module system in the style of Standard ML. . @@ -142,8 +180,8 @@ Package: ocaml-compiler-libs Architecture: any Provides: ocaml-compiler-libs-${F:OCamlABI} Depends: ocaml-nox-${F:OCamlABI} -Description: Ocaml interpreter and standard libraries - Objective Caml is an implementation of the ML language, based on +Description: OCaml interpreter and standard libraries + Objective (OCaml) is an implementation of the ML language, based on the Caml Light dialect extended with a complete class-based object system and a powerful module system in the style of Standard ML. . @@ -157,6 +195,10 @@ Depends: emacs21 | emacsen Suggests: ocaml Conflicts: ocaml-nox (<< 3.08.3-8) Description: A major mode for editing Objective Caml in Emacs + Objective (OCaml) is an implementation of the ML language, based on + the Caml Light dialect extended with a complete class-based object system + and a powerful module system in the style of Standard ML. + . This package provides support for editing both Objective Caml and Caml Light programs with Emacs and XEmacs. . diff --git a/debian/ocaml-opt.files.in b/debian/ocaml-nox.optfiles.in similarity index 100% rename from debian/ocaml-opt.files.in rename to debian/ocaml-nox.optfiles.in diff --git a/debian/rules b/debian/rules index cc0dfa57..335925ff 100755 --- a/debian/rules +++ b/debian/rules @@ -171,17 +171,21 @@ install-arch: build-arch if [ -e opt-built-stamp ]; then \ dh_movefiles -pocaml \ --sourcedir=debian/ocaml-nox \ - `cat debian/ocaml-opt.files`; \ + `cat debian/ocaml-nox.optfiles`; \ else \ dh_movefiles -pocaml \ --sourcedir=debian/ocaml-nox; \ fi + # Move away camlp4 stuff + dh_movefiles --sourcedir=debian/ocaml-nox -pcamlp4-extras + dh_movefiles --sourcedir=debian/ocaml-nox -pcamlp4 + # Then move the ocaml-base-nox package. - dh_movefiles -pocaml-base-nox --sourcedir=debian/ocaml-nox + dh_movefiles --sourcedir=debian/ocaml-nox -pocaml-base-nox # And base's corresponding graphics stuff. - dh_movefiles -pocaml-base --sourcedir=debian/ocaml-nox + dh_movefiles --sourcedir=debian/ocaml-nox -pocaml-base # The ocaml-native-compilers, if available. if [ -e opt-built-stamp ]; then \ @@ -192,7 +196,7 @@ install-arch: build-arch fi # The interpreter files - dh_movefiles -pocaml-interp --sourcedir=debian/ocaml-nox + dh_movefiles --sourcedir=debian/ocaml-nox -pocaml-interp # Install ocaml-md5sums $(MAKE) -C debian/ocaml-md5sums install DESTDIR=$(CURDIR)/debian/ocaml-base-nox/usr/bin -- 2.30.2